package com.ophiux.cs.infrastructure.mapper.consultBase;

import com.ophiux.cs.domain.consultBase.model.entity.Hospital;
import com.ophiux.cs.domain.consultBase.model.valueobj.HospitalQueryObj;
import com.ophiux.utils.exception.OphiuxDaoException;

import java.util.List;

/**
 * 医院数据层映射
 * @author chenh
 *
 */
public interface HospitalMapper {

	/**
	 * 根据名称查询医院
	 * @param HOSPITAL_NAME
	 * @return Hospital
	 * @throws OphiuxDaoException
	 */
	public Hospital findByName(String HOSPITAL_NAME) throws OphiuxDaoException;

	/**
	 * 根据ID查询医院
	 * @param HOSPITAL_ID
	 * @return Hospital
	 * @throws OphiuxDaoException
	 */
	public Hospital getHospitalByHospitalID(String HOSPITAL_ID) throws OphiuxDaoException;

	/**
	 * 根据条件查询医院
	 * @param hospital
	 * @return Hospital
	 * @throws OphiuxDaoException
	 */
	public List<Hospital> selectHospitalByCondition(HospitalQueryObj hospital) throws OphiuxDaoException;

	/**
	 * 新增医院
	 * @param hospital
	 * @return
	 * @throws OphiuxDaoException
	 */
	public void addHospital(Hospital hospital) throws OphiuxDaoException;
	/**
	 * 更新医院
	 * @param hospital
	 * @throws OphiuxDaoException
	 */
	public void updateHospital(Hospital hospital) throws OphiuxDaoException;
	/**
	 * 删除医院
	 * @param HOSPITAL_ID
	 * @throws OphiuxDaoException
	 */
	public void deleteHospital(String HOSPITAL_ID) throws OphiuxDaoException;


	
}
